package Clone;
//对象克隆
//克隆分浅克隆和深克隆
//浅克隆：如果原本数据修改了那么克隆出来的对象也”会“被修改
//深克隆：如果原本数据修改了那么克隆出来的对象也”不“会被修改

import com.google.gson.Gson;

public class Test {
    public static void main(String[] args) throws CloneNotSupportedException {
       int[] data={1,2,3,4,5,6,7,8,9,10,11,12,13,0};
        //创建对象
        User u1=new User(1,"李四","ws","123",data);

        //克隆对象
        //将u1的数据克隆到u2当中
        //Object：为浅克隆
        Object u2=(User)u1.clone();

//        //深度克隆


        //打印
//        System.out.println(u1);
//        System.out.println(u2);



        //第三方工具深克隆
        Gson gson=new Gson();
        //把对象变为字符串
        String str=gson.toJson(u1);
        //再将字符串变为对象
        User user=gson.fromJson(str,User.class);

        //利用深克隆,将不会进行修改
        int[] arr=u1.getData();
        arr[0]=100;

        //打印
        System.out.println(user);



    }
}
